<?php
//构建命名空间（全局空间下的 --》 core空间）
namespace core;

//在MVC中，这个Controller类我们称为：父类控制器 （也叫VIEW视图层）
class Controller extends \Smarty{

    public function __construct()
    {

        //调用父类中的构造方法执行一次
        parent::__construct();

        //SMARTY的目录基本设置
        $tempDir = APP_PATH .'/'.$GLOBALS['plat'].'/view';
        $this->setTemplateDir($tempDir);

        $compileDir = APP_PATH .'/'.$GLOBALS['plat'].'/view_c';
        $this->setCompileDir($compileDir);

        //子类中常用的模板变量
        $this->assign('url', C('url.main'));

        $this->assign('papath', C('public_path.admin'));
        $this->assign('phpath', C('public_path.home'));

        @session_start();
        $this->chklogin();//检查是否之前登录过
//        var_dump($this->chklogin());
    }
        //防止之前没登录
        public function chklogin(){
            if(!isset($_SESSION['admin'])&&$GLOBALS['module']!='Privilege'&&$GLOBALS['plat']=='admin'){
                if(isset($_COOKIE['account'])){//当没有session数据 检查cookie数据
                    //检查这个数据是否存在
                    $adminModel=SF('\\model\\AdminModel');
                    $account=addslashes(trim($_COOKIE['account']));//为了账号安全 加上addslashes转移符
                    $row=$adminModel->getRow('id,account,pwd,logintime,regtime','bl_admin',"account='$account'");
//                    if(empty($row)){//COOKIE 没查到数据 查不到之前有做七天免登陆
//                        $this->jump('请重新登录','p=admin&m=Privilege&a=showLogin',1);
//                    }else{
//                        $_SESSION['admin']=$row;
//                    }
                    if(!empty($row)){
                        $_SESSION['admin']=$row;//把存在的cookie数据补录到session中
                    }else{
                        $this->jump('请重新登录','p=admin&m=Privilege&a=showLogin',1);
                        exit;
                    }

                }else{ //又没有cookie 也没有session
                    $this->jump('请重新登录','p=admin&m=Privilege&a=showLogin',1);
                }

            }

        }




    /**
     * 跳转提示方法
     * @param  $msg  $string  提示信息
     * @param  $url  $string  跳转页面链接，例:p=admin&m=News&a=showList
     * @param  $times  $string  提示停留时间
     */
    public function jump($msg='出错', $surl='', $times=3){ 
        
        echo $msg; 

        $url = C('url.main') . '?'.$surl;
        header("Refresh:$times; url=$url");
    }
}